2. GET & POST
GET & POST是什么
- HTTP协议中发送请求的两种方法
- 底层是TCP/IP,本质上是TCP连接
形象比喻
- TCP:汽车
- HTTP:交通规则(为了避免路上全是一模一样的汽车)
- 设定几种服务类别【GET/POST/PUT/DELETE】
- GET请求:给汽车贴上GET标签,把数据放在车顶url上
- POST请求:给汽车贴上POST标签,把数据放在车厢里
- 浏览器&服务器: 运输公司
- 限制单次运输量来控制风险
- 偷藏数据,有些会卸货有些直接忽略
- 送货:GET跑一趟,POST跑两趟
- GET:浏览器会把http header和data一并发送出去,服务器响应200
- POST:浏览器先发送header,服务器响应100 continue; 浏览器再发送data,服务器响应200
| GET | POST |
## 后退/刷新 | 无害 | 数据会被重新提交 |
## 缓存 | √ | × |
## 参数保留在浏览器历史中 | √ | × |
## 安全性 | × | √(参数不会保存在浏览器历史或web服务器日志) |
限制数据长度 | √(URL最大长度2048字符) | × |
限制数据类型 | √(只允许ASCII字符) | × |
编码类型 | application/x-www-form-urlencoded | application/x-www-form-urlencoded or multipart/form-data |